As the ability to connect devices together via electronic networks has increased, it has become more desirable to collect, transmit and store operational data for various systems so that such data can be used for analysis and optimization. For instance, industrial equipment often contains a variety of sensors that can monitor multiple parameters related to the operation and performance of the equipment many times per second. Such sensors rapidly produce a large volume of time series historical data points associated with the equipment.
Although such data can be very useful for determining how to better use the equipment, the volume of data produced often requires storage that is not located on, or even near, the equipment itself. When data from multiple related sources is stored (for instance, data related to each windmill in a wind farm), the volume of data produced over time grows even more quickly.
Although raw storage of such data merely requires a fast enough connection to a large enough storage array, raw storage of such time series data does not provide a structure that is amenable to easy retrieval of specific data. Furthermore, when the entire body of data needs to be searched in order to find data meeting specific criteria, brute force search methods will be too slow and resource intensive to provide effective results.
Therefore, in order to allow for effective storage and retrieval of such time series data, it may be desirable to provide services that allow users to send such data rapidly for storage and to execute search and retrieval of data from the service at a later time. It may also be desirable to enable analysis as part of the capabilities of the service that alleviates the need to move large bodies of data to and from the service in order to generate useful results.